#!/bin/bash

! [ -n "${MYSQL_DATA_DIR}" ] && exit 1

ORIGINAL_DIR=/var/lib/mysql
DEFAULT_CONFIG_FILE=/etc/my.cnf
if [ ${MYSQL_DATA_DIR} == "/" ];
then
  echo "mysql data directory cannot be '/'"
  exit 1
fi
#如果已经存在则先删除
[ -d ${MYSQL_DATA_DIR} ] && rm -rf ${MYSQL_DATA_DIR}
mkdir -p "$(dirname ${MYSQL_DATA_DIR})"
#将默认位置的数据库数据 cp 到指定位置
echo "copy ${ORIGINAL_DIR} to ${MYSQL_DATA_DIR}"
/bin/cp -raf ${ORIGINAL_DIR} ${MYSQL_DATA_DIR}
#修改配置文件 [mysqld] datadir socket [client] socket
echo "modify my.cnf"
sed -i 's#'${ORIGINAL_DIR}'#'${MYSQL_DATA_DIR}'#g' ${DEFAULT_CONFIG_FILE}
echo "[client]" >> ${DEFAULT_CONFIG_FILE}
echo "socket=${MYSQL_DATA_DIR}/mysql.sock" >> ${DEFAULT_CONFIG_FILE}